// 861. 翻转矩阵后的得分

function matrixScore(A: number[][]): number {
    let r = A.length
    let c = A[0].length
    let base = Math.pow(2,c-1)
    let ans = r * base
    base/=2
    //按列从左到右统计
    for(let j=1;j<c;j++){
        let one = 0
        for(let i=0;i<r;i++){
            if(A[i][0]==1){
                //统计1的个数
                one += A[i][j]
            }else{
                //需要变，所以统计0
                one += A[i][j]^1
            }
        }
        one = Math.max(one,r-one)
        ans += one * base
        base/=2
    }
    return ans
};

console.log(matrixScore([[0,0,1,1],[1,0,1,0],[1,1,0,0]]))